var peticionPlanesRoles = null;
 
function inicializa_xhr_planes_roles() {
  if (window.XMLHttpRequest) {
    return new XMLHttpRequest(); 
  } else if (window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP"); 
  } 
}
 
function muestraTiposPlanRoles() {
  if (peticionPlanesRoles.readyState == 4) {
    if (peticionPlanesRoles.status == 200) {
      var lista = document.getElementById("plan");
      var documento_xml = peticionPlanesRoles.responseXML;
      var tiposPlan = documento_xml.getElementsByTagName("tiposPlan")[0];
      var losTiposPlan = tiposPlan.getElementsByTagName("tipoPlan");
//      
//      var sPath = window.location.pathname;
//      var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
      // lista.options[0] = new Option("Todos los planes");
      
      // Método 1: Crear elementos Option() y añadirlos a la lista
      
      for(i=0; i< losTiposPlan.length; i++) {
        var codigo = losTiposPlan[i].getElementsByTagName("codigo")[0].firstChild.nodeValue;
        var nombre = losTiposPlan[i].getElementsByTagName("nombre")[0].firstChild.nodeValue;
        lista.options[i+1] = new Option(nombre, codigo);
      }
    }
  }
}

function cargaRoles() {
  var lista = document.getElementById("plan");
  var plan = lista.options[lista.selectedIndex].value;
  if(!isNaN(plan)) {
    peticionPlanesRoles = inicializa_xhr_planes_roles();
    if (peticionPlanesRoles) {
      peticionPlanesRoles.onreadystatechange = muestraRoles;
      peticionPlanesRoles.open("POST", "../xml/cargaRolesXML.php?nocache=" + Math.random(), true);
      peticionPlanesRoles.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      peticionPlanesRoles.send("plan=" + plan);
    }
  }
}

function muestraRoles() {
  if (peticionPlanesRoles.readyState == 4) {
    if (peticionPlanesRoles.status == 200) {
      var lista = document.getElementById("rol");
      var documento_xml = peticionPlanesRoles.responseXML;
 
      var roles = documento_xml.getElementsByTagName("roles")[0];
      var losRoles = roles.getElementsByTagName("rol");
 
      // Borrar elementos anteriores
      lista.options.length = 0;
      
      //Comprobamos el nombre de la página PHP en la que nos encontramos
      var sPath = window.location.pathname;
      var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
      
      lista.options[0] = new Option("Todos",0);
      
      //Se utiliza el método de crear elementos Option() y añadirlos a la lista
      for(i=1; i<=losRoles.length; i++) {
        var codigo = losRoles[i-1].getElementsByTagName("codigo")[0].firstChild.nodeValue;
        var nombre = losRoles[i-1].getElementsByTagName("nombre")[0].firstChild.nodeValue;
        lista.options[i] = new Option(nombre, codigo);
      }
    }
  }
}
 
window.onpageshow = function(){
  peticionPlanesRoles = inicializa_xhr_planes_roles();
  if(peticionPlanesRoles) {
    peticionPlanesRoles.onreadystatechange = muestraTiposPlanRoles;
    peticionPlanesRoles.open("GET", "../xml/cargaTiposPlanXML.php?nocache="+Math.random(), true);
    peticionPlanesRoles.send(null);
  }
  document.getElementById("plan").onchange = cargaRoles; //cargaRoles;
};